UMASK

#include <sys\types.h>
#include <sys\stat.h>
#include <io.h>       требуется только  для объявления функции
            
int umask(pmode);
int pmode;            доступ, разрешенный по умолчанию

Описание.
Функция umask устанавливает для текущего процесса маску разрешенного доступа для файла в режим, который определяется по pmode. Маска разрешенного доступа используется для модификации установленного доступа для новых файлов, созданных посредством функций create, open или sopen. Если бит в маске равен 1, то соответствующий ему бит в значении режима доступа к файлу устанавливается в 0 (запрещение). Если бит в маске равен 0, соответствующий ему бит остается неизмененным. Маска доступа для нового файла не установится, пока файл не закроется хотя бы один раз. Аргумент pmode является константным выражением, содержащим одну или обе манифестные константы S_IWRITE и S_IREAD, определенные в <sys\stat.h>. Когда заданы обе константы, они объединяются логическим опратором ИЛИ(:).
Значение аргумента pmode приводится ниже.

            
         Значение                          Его смысл
           
         S_IWRITE           Запись не допускается (файл только  для
                            чтения)
            
         S_IREAD            Чтение не допускается (файл только  для
                            записи)

Например, если в маске установлен бит записи, любые новые файлы будут доступны для чтения.

Замечание.
В MS DOS все файлы доступны для чтения, поэтому доступ только по записи задать невозможно. Это обозначает, что установка бита чтения в umask не имеет смысла.

Возвращаемое значение.
Функция umask возвращает предыдущее значение pmode. Возвращаемого значения в случае ошибки нет.

Пример:

            #include <sys\types.h>
            #include <sys\stat.h>
            #include <io.h>
            
            int oldmask;
            
            oldmask=umask(S_IWRITE);
            /* создать файлы только для чтения */
Hosted by uCoz